Transitionen in ST

Syntax
(* transition with one predecessor step and one successor step *)
TRANSITION (* optional_begin *) name_1 (* optional_end *) FROM step_name_1 TO step_name_2
  := transition_condition;
END_TRANSITION
 
(* transition with several predecessor steps and several successor steps *)
TRANSITION (* optional_begin *) name_2 (* optional_end *) FROM (step_name_1, step_name_2, ...) TO (step_name_3, step_name_4, ...)
  := transition_condition;
END_TRANSITION 
Bedeutung

eine →Transition im →AS-Netzwerk, wobei der optionale Transitionsname (z.B. name_1) ein →IEC-Bezeichner sein muss
Pro AS-Netzwerk sind mehrere Transitionen zulässig. Beachten Sie die Hinweise unter AS-Elemente in ST, wie Sie AS-Netzwerke effizient und korrekt erstellen/verwenden.

Jede Transition benötigt diese Angaben:

  • ein Vorgängerschritt nach dem Schlüsselwort FROM – Beispiel: FROM step1
    Mehrere Vorgängerschritte sind in runden Klammern zu setzen und voneinander durch , zu trennen. Beispiel: FROM (step1, step2, step3)

  • ein Vorgängerschritt nach dem Schlüsselwort TO – Beispiel: TO step1
    Mehrere Vorgängerschritte sind in runden Klammern zu setzen und voneinander durch , zu trennen. Beispiel: TO (step1, step2, step3)

  • die Transitionsbedingung transition_condition; nach :=
    Verwenden Sie einen Booleschen →Ausdruck als Transitionsbedingung. Wenn dieser Ausdruck mit Wert TRUE (oder einer Entsprechung) ausgewertet wird und alle Vorgängerschritte aktiv sind, schaltet die Transition (d.h., die Ausführung geht von den Vorgängerschritten auf die Nachfolgerschritte über). Mehr Informationen darüber, wann eine Transition schaltet, finden Sie unter "Auswertung des ST-Codes inklusive der AS-Netzwerke".

Die Verwendung der Transition ist nur in der aktuellen POE möglich.

Einschränkung

Prioritäten für Transitionen werden nicht ausgewertet.

 

Beispiel
(* The transition 't0' is connected with the predecessor step 'step0' and the successor steps 'step1' and 'step2'. *)
(* Its transitions condition: cntStep0 MOD 10 = 0 *)
TRANSITION t0 FROM step0 TO (step1,step2)
  := cntStep0 MOD 10 = 0;
END_TRANSITION
 
(* The transition 't1' is connected with the predecessor steps 'step1' and 'step2' and with the successor step 'step0'. *)
(* Its transitions condition: MyFun01(In:=Var1) -- condition for this: 'MyFun01' has a Boolean return value. *)
TRANSITION t1 FROM (step1,step2) TO step0
  := MyFun01(In:=Var1); 
END_TRANSITION